/*
  1. TypeScript 强类型语言，对类型要求更加严格，JavaScript 是弱类型语言，没有类型要求 。
  2. TypeScript 增加了接口 interface、泛型、void/never/any/unknown/元组/枚举 等类型；
*/

// 使用接口可以定义对象类型
interface Person {
  name: string;
  age: number;
}

interface Fn {
  (x: number, y: number): void;
}

interface Arr {
  [index: number]: any;
  length: number;
}

// 定义数组类型，一般使用type
type Arr1 = number[];
type Arr2 = Array<number>;

// 元组
type Arr3 = [number, string];
// 元组越界，越界的元素要符合前面类型的联合类型

// 枚举
enum Api {
  "GetTrademarkListUrl" = "/product/trademark",
}
